﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;

namespace AlgorithmTest
{
    // T_[四个数字排序]_[算法名]
    public class T_0053_IsPowerOfTwo : IAlgorithm
    {
        // 231. 2 的幂

        // 给你一个整数 n，请你判断该整数是否是 2 的幂次方。如果是，返回 true ；否则，返回 false 。
        // 如果存在一个整数 x 使得 n == 2x ，则认为 n 是 2 的幂次方。

        // 提示：
        //  -2^31 <= n <= 2^31 - 1

        public void Test()
        {
            // 算法参数定义

            // 算法执行与打印
            //Console.WriteLine(Algorithm());
        }

        // 算法
        public bool IsPowerOfTwo(int n)
        {
            return n > 0 && (n & (n - 1)) == 0;
        }
        public bool IsPowerOfTwo1(int n)
        {
            return n > 0 && (n & -n) == n;
        }
    }
}
